package com.tunan.system.persistence.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import org.springframework.format.annotation.DateTimeFormat;

import com.tunan.utils.ExpandZtreeNode;

/**
 * 业务字典子项表Form类
 */
public class BscDicCodeItem extends ExpandZtreeNode implements Serializable {
	
	private static final long serialVersionUID = 1L;

    @Size(max=50)
    private String itemId;//主键
	
    private String typeCode;//类型ID

    @Size(max=50)
    private String itemCode;//子项编号

    @Size(max=100)
    private String itemName;//子项名称

    @Pattern(regexp="[0-1]")
    private String itemIsActive = "1";//是否启用。0表示禁用，1表示启用。

    private int itemSortNo;//排列顺序号，为0-999。

    @Size(max=50)
    private String itemParentId;//父子项ID，该字段仅适用于树结构。

    @Size(max=1000)
    private String itemSeq;//子项序列，该字段仅适用于树结构。

    private int itemLevel;//子项层次，该字段仅适用于树结构。

    private int itemSubCount;//子节点总数
    
    @Pattern(regexp="[0-1]")
    private String itemIsLock = "0";//是否锁定。0表示可删除，1表示不可删除。

    private String itemMemo;//备注说明
    
	private String itemCreater;//子项的创建者
	@DateTimeFormat( pattern = "yyyy-MM-dd" )
    private Date   itemCreateTime;//子项的创建时间，精确到秒
    
    private String itemModifier;//子项的修改者
    
    private Date   itemModifyTime;//子项的修改时间，精确到秒
    
    //子项树属性
    private List<BscDicCodeItem> children;
    
    public String getItemCreater() {
		return itemCreater;
	}

	public void setItemCreater(String itemCreater) {
		this.itemCreater = itemCreater;
	}

	public Date getItemCreateTime() {
		return itemCreateTime;
	}

	public void setItemCreateTime(Date itemCreateTime) {
		this.itemCreateTime = itemCreateTime;
	}

	public String getItemModifier() {
		return itemModifier;
	}

	public void setItemModifier(String itemModifier) {
		this.itemModifier = itemModifier;
	}

	public Date getItemModifyTime() {
		return itemModifyTime;
	}

	public void setItemModifyTime(Date itemModifyTime) {
		this.itemModifyTime = itemModifyTime;
	}
    
	public List<BscDicCodeItem> getChildren() {
		return children;
	}

	public void setChildren(List<BscDicCodeItem> children) {
		this.children = children;
	}
    
	public String getItemId() {
		return itemId;
	}

	public void setItemId(String itemId) {
		this.itemId = itemId;
	}

	public String getItemCode() {
		return itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}

	public String getItemName() {
		return itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}

	public String getItemIsActive() {
		return itemIsActive;
	}

	public void setItemIsActive(String itemIsActive) {
		this.itemIsActive = itemIsActive;
	}

	public int getItemSortNo() {
		return itemSortNo;
	}

	public void setItemSortNo(int itemSortNo) {
		this.itemSortNo = itemSortNo;
	}

	public String getItemParentId() {
		return itemParentId;
	}

	public void setItemParentId(String itemParentId) {
		this.itemParentId = itemParentId;
	}

	public String getItemSeq() {
		return itemSeq;
	}

	public void setItemSeq(String itemSeq) {
		this.itemSeq = itemSeq;
	}

	public int getItemLevel() {
		return itemLevel;
	}

	public void setItemLevel(int itemLevel) {
		this.itemLevel = itemLevel;
	}

	public int getItemSubCount() {
		return itemSubCount;
	}

	public void setItemSubCount(int itemSubCount) {
		this.itemSubCount = itemSubCount;
	}

	public String getItemMemo() {
		return itemMemo;
	}

	public void setItemMemo(String itemMemo) {
		this.itemMemo = itemMemo;
	}

	

	public String getTypeCode() {
		return typeCode;
	}

	public void setTypeCode(String typeCode) {
		this.typeCode = typeCode;
	}

	public String getItemIsLock() {
		return itemIsLock;
	}

	public void setItemIsLock(String itemIsLock) {
		this.itemIsLock = itemIsLock;
	}
    
}